package com.gitee.hongruisun.promotion.loginadapter.v1;

import com.gitee.hongruisun.promotion.loginadapter.ResultMsg;
import com.gitee.hongruisun.promotion.loginadapter.SiginService;

/**
 *  新的类继承原来的逻辑，运行非常稳定的代码我们不去改动
 */
public class SigninForThirdService extends SiginService {

    /**
     * QQ 登录
     *
     * @param openId
     * @return
     */
    public ResultMsg loginForQQ(String openId){
        // 1. openId 是全局唯一，我们可以把它当做一个用户名（加长）
        // 2. 密码默认为QQ_EMPTY
        String password = "";
        // 3. 注册（在原有系统里面创建一个用户）

        // 4. 调用原来系统的登录方法
        return loginForRegist(openId,password);
    }

    /**
     * 微信登录
     * @param openId
     * @return
     */
    public ResultMsg loginForWechat(String openId){
        // 1. openId 是全局唯一，我们可以把它当做一个用户名（加长）
        // 2. 密码默认为QQ_EMPTY
        String password = "";
        // 3. 注册（在原有系统里面创建一个用户）

        // 4. 调用原来系统的登录方法
        return loginForRegist(openId,password);
    }

    /**
     * token 登录
     * @param token
     * @return
     */
    public ResultMsg loginForToken(String token){
        // 1. token 是全局唯一，我们可以把它当做一个用户名（加长）
        // 2. 密码默认为token_EMPTY
        String password = "";
        // 3. 注册（在原有系统里面创建一个用户）

        // 4. 调用原来系统的登录方法
        return loginForRegist(token,password);
    }

    public ResultMsg loginForTelPhone(String telphone,String code){
        // 1. telphone 是全局唯一，我们可以把它当做一个用户名（加长）
        // 2. 密码默认为telphone_EMPTY
        String password = "";
        // 3. 注册（在原有系统里面创建一个用户）

        // 4. 调用原来系统的登录方法
        return loginForRegist(telphone,password);
    }

    /**
     * 登录注册接口
     * @param username
     * @param password
     * @return
     */
    private ResultMsg loginForRegist(String username, String password) {
        super.regist(username,password);
        return super.login(username,password);
    }
}
